module.exports = {
    publicPath: './',
    // 将构建好的文件输出到哪里
    outputDir: 'dist',
    pages: {
        index: {
            // page 的入口
            entry: 'src/main.js',
            // 模板来源
            template: 'public/index.html',
            // 在 dist/index.html 的输出
            filename: 'index.html',
            // 当使用 title 选项时，
            // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
            title: process.env.VUE_APP_PLATFORM_NAME,
            // 在这个页面中包含的块，默认情况下会包含
            // 提取出来的通用 chunk 和 vendor chunk。
            chunks: ['chunk-vendors', 'chunk-common', 'index'],
        },
    },
    // 当设置为 `"error"` 时，检查出的错误会触发编译失败。
    lintOnSave: true,
    // 通过这个选项可以显式转译一个依赖。
    transpileDependencies: [
        /* string or regex */
    ],
    // 是否为生产环境构建生成 source map？
    productionSourceMap: false, // ??SCRIPT5022: SecurityError 报错吗？
    // 调整内部的 webpack 配置。
    // 查阅 https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli/webpack.md

    

    // CSS 相关选项
    css: {
        // 将组件内的 CSS 提取到一个单独的 CSS 文件 (只用在生产环境中)
        // 也可以是一个传递给 `extract-text-webpack-plugin` 的选项对象
        // 是否使用css分离插件 ExtractTextPlugin 生产环境下是true,开发环境下是false
        extract: false,

        // 是否开启 CSS source map？
        sourceMap: false,

        // 为所有的 CSS 及其预处理文件开启 CSS Modules。
        // 这个选项不会影响 `*.vue` 文件。
        // modules: false,
        requireModuleExtension: true,
    },
    // 在多核机器下会默认开启。
    parallel: require('os').cpus().length > 1,
    // PWA 插件的选项。
    // 查阅 https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli-plugin-pwa/README.md
    pwa: {},
    // 配置 webpack-dev-server 行为。
    devServer: {
        open: process.platform === 'darwin',
        host: '',
        port: 8080,
        https: false,
        hotOnly: false,
        disableHostCheck: true,
        proxy: {
            '/api/1/user': {
                target: process.env.VUE_APP_API_HOST + '/api/1/user',
                // target: 'http://192.168.0.113:8180/api/1/user',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/user': '',
                },
            },
            '/api/1/org': {
                // target: process.env.VUE_APP_API_HOST + '/api/1/org',
                target: 'http://192.168.0.113:8080/api/1/org',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/org': '',
                },
            },
            '/api/1/shop': {
                target: process.env.VUE_APP_API_HOST + '/api/1/shop',
                // target: 'http://192.168.0.113:8585/api/1/shop',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/shop': '',
                },
            },
            '/api/1/course': {
                // target: process.env.VUE_APP_API_HOST + '/api/1/course',
                target: 'http://192.168.0.113:8080/api/1/course',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/course': '',
                },
            },
            '/api/1/my': {
                // target: process.env.VUE_APP_API_HOST + '/api/1/my',
                target: 'http://192.168.0.113:8080/api/1/my',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/my': '',
                },
            },
            '/api/1/clazz': {
                // target: process.env.VUE_APP_API_HOST + '/api/1/clazz',
                target: 'http://192.168.0.113:8080/api/1/clazz',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/clazz': '',
                },
            },
            '/api/1/lesson': {
                // target: process.env.VUE_APP_API_HOST + '/api/1/lesson',
                target: 'http://192.168.0.113:8080/api/1/lesson',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api/1/lesson': '',
                },
            },
            '/api': {
                target: process.env.VUE_APP_API_HOST + '/api',
                ws: true,
                changOrigin: true,
                pathRewrite: {
                    '^/api': '',
                },
            },
        },
    },
    configureWebpack: () => {},
    chainWebpack: (config) => {
        config.module
            .rule('eslint')
            .use('eslint-loader')
            .loader('eslint-loader')
            .tap((options) => {
                options.fix = true; // 这一行不要的话在其他编辑器里面修改格式化后保存文件就不会被格式化了？
                return options;
            });
    },
    // 第三方插件的选项
    pluginOptions: {},
};
